package idea.innovacion.dao;

import idea.innovacion.bean.IdeaDTO;
import idea.innovacion.bean.IdeaUsuarioDTO;
import idea.innovacion.bean.IdeaVotacionDTO;
import idea.innovacion.interfaces.IIdeaUsuarioDAO;
import idea.innovacion.util.ConexionDB;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class MySqlIdeaUsuarioDAO implements IIdeaUsuarioDAO {

		
	@Override
	public ArrayList<IdeaUsuarioDTO> listIdeaUsuario(IdeaUsuarioDTO dto) throws SQLException {
		String sql = null;
		ArrayList<IdeaUsuarioDTO> listTemp = new ArrayList<IdeaUsuarioDTO>();
		ResultSet rs;
		Connection conn = null;
		sql = " select IdIdea, IdUsuario from IdeaUsuario "+
			  " where IdUsuario = ? AND IdIdea = ?";
		
        conn = ConexionDB.GetConnection();
		
		PreparedStatement pstm = conn.prepareStatement(sql);		
		pstm.setInt(1, dto.getIdIdea());
		pstm.setInt(2, dto.getIdUsuario());
		
		
		//Ejecutamos El Query		
		rs = pstm.executeQuery(sql);
		
		//Recorremos el ResultSet
		while(rs.next()) {
			//Lo guardamos en un objeto
			IdeaUsuarioDTO idea = new IdeaUsuarioDTO();
											
			//Lo Guardamos en Objeto temporal
			idea.setIdIdea(rs.getInt(1));
			idea.setIdUsuario(rs.getInt(2));
						
			//Lo agregamos a la lista temporal
			listTemp.add(idea);
							
		}
		return listTemp;
	}
	
	@Override
	public boolean insertIdeaUsuario(IdeaUsuarioDTO dto) throws SQLException {
		// TODO Auto-generated method stub
		boolean retorno;
		
		String sql = null;
		Connection conn = null;
		sql = "Insert IdeaUsuario values (?,?)";
		
        conn = ConexionDB.GetConnection();
		
		PreparedStatement pstm = conn.prepareStatement(sql);
		pstm.setInt(1, dto.getIdIdea());		
		pstm.setInt(2, dto.getIdUsuario());
		
		
		retorno = pstm.execute();
		
		return retorno;
	}

}
